package com.stu.day03;

import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;

/**
 * Math类常用函数
 * 三种随机数生成方式
 * @author zy
 * @date 2025/1/25 15:38
 */
public class MathDemo {
    public static void main(String[] args) {
        System.out.println(Math.floor(-3.14));  //返回小于/等于参数的一个整小数 -4.0
        System.out.println(Math.round(-3.14));  //返回参数四舍五入的一个整数 -3
        System.out.println(Math.ceil(-3.14));  //返回大于/等于参数的一个整小数 -3.0

        double r = Math.random();  //0~1之间的随机小数,不包括1
        int x = (int) (r * 3) + 5;  //随机数5~7
        System.out.println(x);

        Random random = new Random();  // 更加高效
        int x2 = random.nextInt(3) + 5;  // 随机数 5 ~ 7
        System.out.println(x2);

        int x3 = ThreadLocalRandom.current().nextInt(5, 8);  // 随机数 5 ~ 7
        System.out.println(x3);
    }
}
